package reviewAlgorithms.greedyThought;

public class MaxSubArray {
    public static void main(String[] args) {

        int[] nums = {-2,1};
        System.out.println(maxSubArray(nums));

    }
    public static int maxSubArray(int[] nums) {
        int max = Integer.MIN_VALUE;
        if (nums == null || nums.length < 1){
            return max;
        }

        int temp = 0;
        for (int i = 0; i < nums.length; i++) {
            if (i == 0){
                temp = nums[i];
                max = nums[i];
                continue;
            }
            if (nums[i] >= 0){
                if (temp > 0){
                    temp += nums[i];

                }else {
                    temp = nums[i];
                }
            }else {
                if (temp + nums[i] < 0){
                    temp = nums[i];
                }else {
                    temp += nums[i];
                }
            }
            max = Math.max(max,temp);
        }
        return max;
    }
}
